$(function(){
	/** 选择模板 */
	$('#select-template').ajaxSubmit({
		success: function(result){
			if(result.success){
				alert('更改成功。');
				location.reload();
			}else{
				alert(result.data);
			}
		},
		error: function(xhr){
			alert('与服务器的连接出现错误，模板切换失败。');
			console.log(xhr.responseText);
		}
	}).find('input[type="radio"]').change(function(){
		if(confirm('即将修改网站外观，确认？')){
			$(this).closest('form').submit();
		}else{
			$(this).closest('form').find('button[type="reset"]').click();
		}
	});

	/** 选择插件 */
	$('#select-plugin').ajaxSubmit({
		beforeSend: function(options){
			var enable = [];
			$(this).find('input[data-plugin]').each(function(){
				if($(this).is(':checked')){
					enable.push($(this).data('plugin'));
				}
			});
			options.data = $.extend({}, {'mod.plugins.enable': enable.join('|')});
			return options;
		},
		success: function(result){
			if(result.success){
				alert('更改成功。');
				location.reload();
			}else{
				alert(result.data);
			}
		},
		error: function(xhr){
			console.log(xhr);
			alert('与服务器的连接出现错误，插件切换失败。');
		}
	}).find('input[type="checkbox"]').change(function(){
		if(confirm('即将修改网站功能，确认？')){
			$(this).closest('form').submit();
		}else{
			$(this).closest('form').find('button[type="reset"]').click();
		}
	});

	/** 删除模板和插件 */
	$('form').find('a.delete').click(function(){
		var $this = $(this),
			type = $this.data('type'),
			name = type == 'template' ? '模板' : '插件',
			selector = type == 'template' ? '.block' : '.media';
		if(!confirm('即将永久删除所选'+name+'，确认？')) return false;
		$.ajax({
			url: SITE_URL+'mod.php?file::removeFolder|type:'+type+'|folder:'+$this.data('folder'), 
			success: function(result){
				alert(result.data);
				if(result.success){
					$this.closest(selector).remove();
				}
			},
			error: function(xhr){
				alert('与服务器的连接出现错误，'+name+'删除失败。');
				console.log(xhr.responseText);
			}
		});
	});

	/** 清除模板缓存 */
	$('a.remove-temp').click(function(){
		var $this = $(this),
			folder = $this.data('type') == 'template' ? 'template/' : 'plugins/';
		$.ajax({
			url: SITE_URL+'mod.php?file::removeTempFolder|folder:'+folder+$this.data('folder'), 
			success: function(result){
				alert(result.data);
				if(result.success){
					$this.remove();
				}
			},
			error: function(xhr){
				alert('与服务器的连接出现错误，缓存清除失败。');
				console.log(xhr.responseText);
			}
		});
	});

	/** 上传压缩包 */
	$('#upload-zip').click(function(){
		var $this = $(this),
			type = $this.data('type'),
			name = type == 'template' ? '模板' : '插件';
		$this.button('loading');
		$.upload({
			url: SITE_URL+'mod.php?file::uploadZip',
			accept: 'application/zip',
			data: {'file_desc': name+'压缩包', 'type': type},
			success: function(result){
				$this.button('reset');
				if(result.success){
					$('ul[role="tablist"]').children('li').eq(0).children('a').click();
				}else{
					if(typeof result.data == 'string'){
						alert(result.data);
					}else{
						alert(result.data[0].error);
					}
				}
			},
			error: function(xhr){
				alert('与服务器的连接出现错误，文件上传失败。');
				console.log(xhr.responseText);
				$this.button('reset');
			}
		});
	});

	/** 检查更新 */
	$('.check-new').click(function(){
		var $this = $(this);
		$this.button('loading');
		$.ajax({
			url: SITE_URL+'mod.php?obj=mod&act=checkUpdate&type='+$this.data('type')+'&version='+$this.data('version')+'&versionURL='+$this.data('version-url'),
			success: function(result){
				$this.button('reset').hide();
				if(result.success && version_compare(result.data.version, result.version) > 0){
					var html = '新版本: <code>'+result.data.version+'</code>';
					if(result.data.url) html += '<a target="_blank" title="前往查看" href="'+result.data.url+'">新版说明</a>';
					$this.siblings('.new-version').html(html+'。').show().siblings('.update').data('version', result.data).css('display', 'block');
				}else{
					$this.button('reset').hide().siblings('.new-version').html('暂无可用更新。').show();
				}
			},
			error: function(xhr){
				$this.button('reset').hide().siblings('.new-version').html('暂无可用更新。').show();
				console.log(xhr.responseText);
			}
		});
	});

	/** 更新 */
	$('.update').click(function(){
		if(!confirm('即将修改网站外观与功能，确认？')) return false;
		var $this = $(this);
		$this.button('loading');
		$.ajax({
			url: SITE_URL+'mod.php?mod::updateComponent',
			type: 'post',
			data: $.extend($this.data('version'), {type: $this.data('type')}),
			success: function(result){
				alert(result.data);
				$this.button('reset');
				if(result.success){
					if($this.data('type') == 'template'){
						storage('newTemplateVersion', storage('newTemplateVersion')-1 || null);
						$.showNews('features', '-1');
						$this.closest('.block').find('a.remove-temp').click();
					}else{
						storage('newPluginVersion', storage('newPluginVersion')-1 || null);
						$.showNews('plugins', '-1');
						$this.closest('.media').find('a.remove-temp').click();
					}
					location.reload();
				}
			},
			error: function(xhr){
				alert('与服务器的连接出现错误，更新失败。');
				console.log(xhr.responseText);
				$this.button('reset');
			}
		});
	});

	/** 自动检测更新 */
	if(storage('newTemplateVersion') > 0){
		$('#select-template').find('button.check-new').click();
	}
	if(storage('newPluginVersion') > 0){
		$('#select-plugin').find('button.check-new').click();
	}

	/** 阻止禁止链接跳转 */
	$('.disabled').click(function(event){
		event.preventDefault();
	});

	/** 显示帮助信息 */
	$.showHelp('你可以通过切换模板来快速改变网站前台的外观，或者启用一些插件来增强网站的功能。');
});